Error correcting codes are conventionally used to provide reliability over a noisy communication channel. An error correcting coding scheme transmits extra bits. These extra bits allow the receiver to recover errored bits by deducing the errored bits from the channel observations of the transmitted bits.
Error correcting codes are conventionally designed to provide as much reliability as possible over a noisy channel. However, this high level of reliability leads to codes which are complex and thus require increased computational resources at the receiver.